#pragma once
#ifndef __COLOURFADINGAFFECTORFACTORY_H_
#define __COLOURFADINGAFFECTORFACTORY_H_
#include "DestinyParticleFxPrerequisites.h"
#include "OgreParticleAffectorFactory.h"
#include "OgreParticleAffector.h"

namespace Destiny
{
	class _DestinyParticleFxExport CColourFadingAffectorFactory:public Ogre::ParticleAffectorFactory
	{
	private:
		CColourFadingAffectorFactory(void);
		static CColourFadingAffectorFactory* mSelf ;

	public:
		~CColourFadingAffectorFactory(void);

		virtual Ogre::ParticleAffector* createAffector(Ogre::ParticleSystem* psys) ;

		virtual Ogre::String getName() const
		{
			return "ColourFading" ;
		}

		static CColourFadingAffectorFactory* getSingletonPtr()
		{
			if ( NULL == mSelf )
			{
				mSelf = OGRE_NEW CColourFadingAffectorFactory ;
			}
			return mSelf ;
		}
	};
}

#endif